Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Name-suggestion-index v6 #8305

Merged
merged 58 commits into from
Jul 6, 2021
Merged

Name-suggestion-index v6 #8305

merged 58 commits into from
Jul 6, 2021

Conversation

bhousel
Copy link
Member

@bhousel bhousel commented Jan 18, 2021

This updates the iD code to support the latest name-suggestion-index. I'll release v5 in the next few days, but I have tested this locally and works awesome.

Some enhancements:

  • The presets and fields have been upgraded to fully support locationSets now
  • Added a coreLocations module to resolve and cache locationSets used anywhere in iD (presets, community-index, name-suggestions). Processing happens in chunks during browser idle callbacks.
  • NSI presets are downloaded and merged in after iD starts up. The presets become available within a few seconds.
  • Upgraded parts of the code (field locking, map pin styling) that previously only supported brand:wikidata to now support the other kinds of features in NSI. (flags, operators, transit networks)
  • Upgraded the outdated tags and suspicious tags validators to use the latest NSI data and matcher.
  • Note about the validator: there is an interesting issue here in that the first few tiles downloaded from OSM won't be fully validated because the NSI data isn't ready yet. This was always an issue before but it is a bit more annoying now. I'd like to Promisify all the validators so they just run whenever they are ready to run (update: solved it in Promisify validation #8319 and merged it here)

I'll have to look and see what outstanding issues this closes, but it's all the ones I know about.

re: osmlab/name-suggestion-index#4543
closes #8426
closes #8304
closes #8271
closes #8237
closes #8143
closes #6890
closes #6055
closes #6408
closes #5484

Copy link
Collaborator

@1ec5 1ec5 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Exciting to see more parts of NSI become accessible to ordinary mappers. This is the first time I’m looking at the matcher code, so it’s possible that you’ve already accounted for some of the feedback I’ve given below.

// Returns true if this tag key is a "namelike" tag that the NSI matcher would have indexed..
function isNamelike(k) {
const namePatterns = [
/^(flag:)?name$/i, // e.g. `name`, `flag:name`
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

openstreetmap/id-tagging-schema#114 requests a flag:name field for the Flagpole preset.

// There are a few exceptions to the namelike regexes.
// Usually a tag suffix contains a language code like `name:en`, `name:ru`
// but we want to exclude things like `operator:type`, `name:etymology`, etc..
if (/:(colour|type|left|right|etymology|wikipedia)$/.test(k)) return false;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

name:pronunciation is another common subkey of name that isn’t a language code. That said, IPA is very unlikely to match a name in NSI anyways.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I think that's ok - This code is just collecting values to attempt to match, so if collects a few extras it's probably fine, but will waste a few microseconds.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I removed it anyway in a325535

@@ -79,7 +146,7 @@ export function validationOutdatedTags() {
}
}

// add missing addTags..
// Add missing addTags from the detected preset
let newTags = Object.assign({}, entity.tags); // shallow copy
if (preset.tags !== preset.addTags) {
Object.keys(preset.addTags).forEach(k => {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Each flag entry in NSI comes with a flag:name tag, but that’s mainly for internal reference. The flag:name key would logically be in the local language, whereas the value in NSI is specific to English, so it wouldn’t be appropriate to add the flag:name from NSI in non-English-speaking countries. (Apologies if the code below already handles that; I couldn’t tell.)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(Apologies if the code below already handles that; I couldn’t tell.)

It doesn't but it should - this is a good catch..

// Exceptions, throw out the match
if (
(!itemQID || itemQID === notQID) || // no `*:wikidata` or matched a `not:*:wikidata`
(newTags.office && !item.tags.office) // feature may be a coprorate office for a brand? - #6416
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would a corporate office still be a decent candidate for an operator preset?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure.. I kind of think no, except in cases where it's really widespread or like a chain. (Military recruiting centers maybe or DMVs?)

I suppose any business can also have a corporate office. Do people tag them like office=yes? Adding an extra preset for each one seems like it would just confuse users.

For reference, these are the brand-like office=* categories NSI tracks today:
Screen Shot 2021-01-18 at 7 17 31 PM

var isSuggestion = preset && preset.suggestion;

// Lock the field if there is a value and a companion `*:wikidata` value
return isSuggestion && !!entity.tags[which] && !!entity.tags[which + ':wikidata'];
Copy link
Collaborator

@1ec5 1ec5 Jan 18, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

flag:name goes with flag:wikidata rather than flag:name:wikidata. (Sorry, I didn’t think of the inconsistency when promoting flag:name instead of flag.)

Maybe this is a happy accident, since the mapper may need to come up with the flag name in the local language anyways. Also, for some kinds of flags, it’s common enough for the same flag to represent a different entity and be known by a different name. (The example that comes to mind is the flag of the Vatican City, which is also a religious flag representing the Holy See, but there are also plenty of examples among historical flags.)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe this is a happy accident, since the mapper may need to come up with the flag name in the local language anyways.

Yes it is 👍 It means this code would lock a flag field, but not a flag:name field, which is what I think you want..

'nsi_brands': 'https://cdn.jsdelivr.net/npm/name-suggestion-index@4/dist/brands.min.json',
'nsi_filters': 'https://cdn.jsdelivr.net/npm/name-suggestion-index@4/dist/filters.min.json',

'nsi_presets': 'https://github.com/raw/osmlab/name-suggestion-index/main/dist/presets/nsi-id-presets.min.json',
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh I should add - I don't actually want to load these from the GitHub main branch..
These URLs just for testing it.

// …
// ]
//
// Returns a Promise fullfilled when the resolving/indexing has been completed
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

haha spellchecker

});
}

// This Promise will fullfill after NSI presets are loaded and locations merged into the locationManager.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well at least my misspelling is consistent.

subtype = 'noncanonical_brand';

// Preserve some tags values that we don't want NSI to overwrite.
const keepTags = ['takeaway', 'building']
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@1ec5 we should add flag:name here to leave people's local flag names alone.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did this in f61a3ef, and it works:

before after
Screen Shot 2021-01-18 at 9 37 04 PM Screen Shot 2021-01-18 at 9 42 27 PM

@tas50
Copy link

tas50 commented Jan 19, 2021

@bhousel Any chance you can push v5 so this can be tested locally?

@bhousel
Copy link
Member Author

bhousel commented Jan 19, 2021

@bhousel Any chance you can push v5 so this can be tested locally?

What I've been doing for now is using npm link to test locally:

cd path/to/name-suggestion-index
npm link
cd path/to/iD
npm link name-suggestion-index

This makes a symlink between the two projects, which is great for local development..
But as soon as I'm really sure we won't need to change anything else about NSI's matcher I'll release it.

@tas50
Copy link

tas50 commented Jan 19, 2021

@bhousel That is some JS magic right there. You're making me sad to be in Ruby land. I was able to fire up the branch just fine with link. It does look like some places are too aggressive suggesting name changes. That feels like the iD side of things.

Here's a Portland independent car repair shop that's tagged as repairing Volvos with brand:volvo

Screen Shot 2021-01-18 at 7 52 00 PM

Here's a hotel with a custom name set:

Screen Shot 2021-01-18 at 7 51 35 PM

This one is real strange, but it made me chuckle:

Screen Shot 2021-01-18 at 7 52 31 PM

@bhousel
Copy link
Member Author

bhousel commented Jan 19, 2021

@bhousel That is some JS magic right there. You're making me sad to be in Ruby land. I was able to fire up the branch just fine with link. It does look like some places are too aggressive suggesting name changes. That feels like the iD side of things.

Thanks @tas50 - these are great examples.. Let me know if you see any more like this.
There is some logic in the field UI for "whether the name field should be readonly/locked" and I think I can put some similar logic into the validator for "whether the name tag should be replaced with what is in NSI".

I'm really curious about what's going on with the "Vacant" Applebees. Is it using a tag like name:old or name:disused? 🤔
If you have the node/way id, I'd like to take a look!

@tas50
Copy link

tas50 commented Jan 19, 2021

@bhousel It turns out the Applebees was decom'd wrong and had the official_name tag left so that sort of makes sense. I found a few more places where things are a bit too aggressive overwriting name fields:

Wireless stores that have a brand set. I think these are sort of mistagged, but that's a whole different issue. They're basically Verizon stores with an operator of XYZ, but they get tagged as XYZ with the brand of Verizon.
Screen Shot 2021-01-18 at 10 12 10 PM

This also fixes the logic for calculating whether the preset shows a
`brand` or `operator` field - it needs to use `fields()` to actually
resolve the fields, as these fields can be inherited from another preset.

This also includes a change to match "primary" names before
"alternate" names (aka the "Baby Gap" / "Gap" problem)
@1ec5
Copy link
Collaborator

1ec5 commented Jan 19, 2021

Wireless stores that have a brand set. I think these are sort of mistagged, but that's a whole different issue. They're basically Verizon stores with an operator of XYZ, but they get tagged as XYZ with the brand of Verizon.

It’s probably one of those Verizon Authorized Retailers where either the store name or Verizon could have top billing. It’s hard to say what other POI categories tend to have store-specific names; it probably varies from country to country.

@bhousel
Copy link
Member Author

bhousel commented Jan 19, 2021

@tas50 & @1ec5 I just pushed a change that should make the name overwriting much less aggressive.

Basically the rule works the same as the way it has worked before for Name field locking 🔒 :

  • if the preset does display a "Brand" field, the Brand field gets locked and the Name field is editable. NSI will not overwrite the name tag.
  • if the preset does not display a "Brand" field, the Name field is locked. NSI will overwrite the name tag.
  • (same rules above apply for presets that use "Operator" instead of "Brand")

This means that we can control which categories we expect mappers to supply store-specific names (Car Dealerships, Hotels, Post Offices, etc). AFAIK the presets already set up correctly, but we can adjust in the id-tagging-schema repo if needed..

Copy link
Collaborator

@mbrzakovic mbrzakovic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It was amazing to see presets, nsi and oci common locationSet functionality coming together.
This is surely a big improvement and sets a strong foundation to make very easy additions of locationSet specifics to any of these packages. Also, its great that several issues have been addressed.

Perhaps we could include this concept in Arhitecture documentation as it has impact across multiple files and its not that easy to digest.

I went through the code and added few minor comments and some curious questions.
Lets go through them and merge this change.

modules/core/context.js Outdated Show resolved Hide resolved
modules/core/locations.js Show resolved Hide resolved
modules/core/locations.js Show resolved Hide resolved
modules/core/locations.js Show resolved Hide resolved
modules/core/locations.js Show resolved Hide resolved
modules/services/nsi.js Show resolved Hide resolved
modules/services/nsi.js Outdated Show resolved Hide resolved
@mbrzakovic
Copy link
Collaborator

I saw data/imagery.json being updated in this PR.
Can you please provide info on how are these imagery sources gathered?

@bhousel
Copy link
Member Author

bhousel commented Jul 1, 2021

I saw data/imagery.json being updated in this PR.
Can you please provide info on how are these imagery sources gathered?

Yeah that's just ELI. Anyone who works on iD needs to update it manually because ELI doesn't actually publish code with version numbers. (so npm or package-lock can't work with it). Everyone who installs iD is going to get whatever version of ELI happened to exist at the time - there will always be changes in imagery.json. See #7425 or PM me for details.

@tas50
Copy link

tas50 commented Jul 2, 2021

@bhousel is there still a URL floating around with this branch?

@bhousel
Copy link
Member Author

bhousel commented Jul 2, 2021

@bhousel is there still a URL floating around with this branch?

Yes I've kept https://ideditor.org/nsi-v5 updated to pull latest released NSI

@mbrzakovic mbrzakovic self-requested a review July 2, 2021 18:30
@mbrzakovic mbrzakovic merged commit fc6c711 into develop Jul 6, 2021
@kymckay kymckay deleted the nsi-v5 branch July 6, 2021 12:02
zlavergne pushed a commit to facebook/Rapid that referenced this pull request Aug 3, 2021
* Move CrossEditableZoom event firing.
It should happen after projection is transformed.

* Bump versions

* Switch to Mapillary API v4

* Fix traffic sign rendering and geometry conversion

* Remove debugging code

* Update locale file

* Removing redundant @mapbox/geojson-rewind dep pkg

* Remove unused map feature title

* Bring map map feature tooltips

* Add missing mapillary map feature classes

* Update translation file

* Bing imagery - Ensure freshness

* bingImagery strict n param.
Fallback url tempalate to latest

* minor revert catch log

* some bing imagery docs comments

* typo

* Add aws_deploy npm action to build workflow (#229)

* Add aws_deploy npm action to build workflow

Added the scripts/aws_deploy.py script which will run at the end of
github builds and push stuff up to s3, so that you can easily get builds
to reviewers or anyone else without issue.

Needs to have some secrets set up on github to work, documentation is at
the top of the python script.

* Hopefully more verbose logging when amazon fails

* DO NOT MERGE: Adding hook for this branch to test on github

* Better capture failure cases of aws calls

* Going with the middle spam level for logging

* Replace Rollup with Esbuild. (#246)

* Add new esbuild-based quickstart directive.

* Get the esbuild legacy build working, save for issues with NSI.

* Upgrade several dependencies, bump minimum node version to 12
- country-coder (closes #249)
- location-conflation (closes #248)
- osm-community-index (closes #250)
- name-suggestion-index

* Bump marked from 2.0.7 to 2.1.2

Bumps [marked](https://github.com/markedjs/marked) from 2.0.7 to 2.1.2.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Changelog](https://github.com/markedjs/marked/blob/master/release.config.js)
- [Commits](markedjs/marked@v2.0.7...v2.1.2)

---
updated-dependencies:
- dependency-name: marked
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Add the es5 directive back.

* Get dev builds working once again, normal builds still slightly wonky.

* Get some sort of legacy build working by converting requires() to import statements.

* Fix target for esbuild legacy build

* Move build all directive to use esbuild.

* Add visualizer capability and build directive.

* Remove rollup from dependency list completely!

Co-authored-by: Bryan Housel <bhousel@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Remove special case for push to deploy_with_action

This was just used during development

* Clean up log, and add link to build result

* One too many slashes

* Is this simple conditional good enough?

* Better syntax?

* Now with correct syntax

* Bump osm-community-index from 5.0.1 to 5.1.0

Bumps [osm-community-index](https://github.com/osmlab/osm-community-index) from 5.0.1 to 5.1.0.
- [Release notes](https://github.com/osmlab/osm-community-index/releases)
- [Changelog](https://github.com/osmlab/osm-community-index/blob/main/CHANGELOG.md)
- [Commits](osmlab/osm-community-index@v5.0.1...v5.1.0)

---
updated-dependencies:
- dependency-name: osm-community-index
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump osm-community-index from 5.0.1 to 5.1.0

* If locationSet is missing `include`, default to worldwide include
openstreetmap/iD#8305 (comment)

* pacify eslint, fix merge goof in map.js

* Build sourcemap too

* Use pagination to fetch all the esri datasets
(closes #257)

* Bump object-inspect from 1.10.3 to 1.11.0

Bumps [object-inspect](https://github.com/inspect-js/object-inspect) from 1.10.3 to 1.11.0.
- [Release notes](https://github.com/inspect-js/object-inspect/releases)
- [Commits](inspect-js/object-inspect@v1.10.3...v1.11.0)

---
updated-dependencies:
- dependency-name: object-inspect
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* gitignore esbuild.json
It changes on every build and is only use to rebuild the stats

* Bump osm-community-index to 5.1.1

* Modernize more scripts
(convert require to import)

* npm run imagery

* npm run translations

* rapid-v1.1.5

* Set z-index of absolutely positioned layers under supersurface
Each of these has their own internal stacking context

* npm run translations

* Fix link

* Math/extent conversion (#272)

* Bump version to newest id-sdk release.

* Convert geoExtent to id-sdk/Extent. Most tests working.

* Fix remaining tests.

* Remove geo modules no longer in use.

* Revert "Fix remaining tests."

This reverts commit 7ba89ce.

* Fix a number of instances of extents being used as raw tuples.

* Woops- converted zoom/pan functionality that interacts with d3. NOT a candidate for Extent() conversion.

* Fix roads/ways not appearing in the map, also fix a crossing ways test problem.

* Fix an issue with the measurement panel not setting its extent correctly.

* fix usages of Extend.extend() because it no longer modifies the extent in-place.

* Fix copy / paste bug that falsely claimed everything had an extent of +/- Infinity.

* add service module for querying streetview suggestions (#192)

* Show suggestion images and viewfield icon

* fix PR comments

* hightlight images and viewfields on hover

* Sort images by increasing longitude, so that the left-rightness of images matches the flow of the map points as we scan left->right.

* Add image strip as separate component (still quite buggy). Fix the two-way binding between image fields and images in the strip so that hover/select highlights correctly.

* Fix the image filmstrip so that it is properly shut off / redisplayed as the user hovers over / moves off a sidewalk.

* Fix bug that was selecting the wrong service when we selected a sidewalk suggestion.

* Get image strip working with Bryan's help.

* Fix sorting of images by longitude.

* Improve styling of the image strip, and add 'enlarge on mouse hover' interaction.

* style suggested sidewalks

* Parse crosswalk data

* remove console.log statement

* Fix debug messages that shouldn't have been checked in.

* Fix issue that was causing too many viewfield nodes to appear.

* fix hovering issues

* Fix some linter errors.

* Make 5 images not require a scrollbar in the image strip, even when one is zoomed.

* Fix images to all have the same height, not the same width.

* Fix code drift issues that had occurred in main.

Co-authored-by: Milos Brzakovic (E-Search) <mbrzakovic@microsoft.com>
Co-authored-by: Bryan Housel <bhousel@gmail.com>
Co-authored-by: Nikola Pleša <nikolaplesa@fb.com>
Co-authored-by: Milos Brzakovic <78906108+mbrzakovic@users.noreply.github.com>
Co-authored-by: Danny Krause <vanreece@gmail.com>
Co-authored-by: Ben Clark <bennyc@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Xiaoming Gao <mkobie@gmail.com>
Co-authored-by: Amol Vasant Khadilkar <amolk@fb.com>
Co-authored-by: Benjamin Clark <clarkben@fb.com>
@lgommans
Copy link

lgommans commented Aug 7, 2021

Why did this close #6408? It changed nothing in terms of seeing what you're changing, iD still invites people to blindly apply changes under their name.

Bonkles added a commit to facebook/Rapid that referenced this pull request Aug 27, 2021
* Move CrossEditableZoom event firing.
It should happen after projection is transformed.

* Bump versions

* Switch to Mapillary API v4

* Fix traffic sign rendering and geometry conversion

* Remove debugging code

* Update locale file

* Removing redundant @mapbox/geojson-rewind dep pkg

* Remove unused map feature title

* Bring map map feature tooltips

* Add missing mapillary map feature classes

* Update translation file

* Bing imagery - Ensure freshness

* bingImagery strict n param.
Fallback url tempalate to latest

* minor revert catch log

* some bing imagery docs comments

* typo

* Add aws_deploy npm action to build workflow (#229)

* Add aws_deploy npm action to build workflow

Added the scripts/aws_deploy.py script which will run at the end of
github builds and push stuff up to s3, so that you can easily get builds
to reviewers or anyone else without issue.

Needs to have some secrets set up on github to work, documentation is at
the top of the python script.

* Hopefully more verbose logging when amazon fails

* DO NOT MERGE: Adding hook for this branch to test on github

* Better capture failure cases of aws calls

* Going with the middle spam level for logging

* Replace Rollup with Esbuild. (#246)

* Add new esbuild-based quickstart directive.

* Get the esbuild legacy build working, save for issues with NSI.

* Upgrade several dependencies, bump minimum node version to 12
- country-coder (closes #249)
- location-conflation (closes #248)
- osm-community-index (closes #250)
- name-suggestion-index

* Bump marked from 2.0.7 to 2.1.2

Bumps [marked](https://github.com/markedjs/marked) from 2.0.7 to 2.1.2.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Changelog](https://github.com/markedjs/marked/blob/master/release.config.js)
- [Commits](markedjs/marked@v2.0.7...v2.1.2)

---
updated-dependencies:
- dependency-name: marked
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Add the es5 directive back.

* Get dev builds working once again, normal builds still slightly wonky.

* Get some sort of legacy build working by converting requires() to import statements.

* Fix target for esbuild legacy build

* Move build all directive to use esbuild.

* Add visualizer capability and build directive.

* Remove rollup from dependency list completely!

Co-authored-by: Bryan Housel <bhousel@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Remove special case for push to deploy_with_action

This was just used during development

* Clean up log, and add link to build result

* One too many slashes

* Is this simple conditional good enough?

* Better syntax?

* Now with correct syntax

* Bump osm-community-index from 5.0.1 to 5.1.0

Bumps [osm-community-index](https://github.com/osmlab/osm-community-index) from 5.0.1 to 5.1.0.
- [Release notes](https://github.com/osmlab/osm-community-index/releases)
- [Changelog](https://github.com/osmlab/osm-community-index/blob/main/CHANGELOG.md)
- [Commits](osmlab/osm-community-index@v5.0.1...v5.1.0)

---
updated-dependencies:
- dependency-name: osm-community-index
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump osm-community-index from 5.0.1 to 5.1.0

* If locationSet is missing `include`, default to worldwide include
openstreetmap/iD#8305 (comment)

* pacify eslint, fix merge goof in map.js

* Build sourcemap too

* Use pagination to fetch all the esri datasets
(closes #257)

* Bump object-inspect from 1.10.3 to 1.11.0

Bumps [object-inspect](https://github.com/inspect-js/object-inspect) from 1.10.3 to 1.11.0.
- [Release notes](https://github.com/inspect-js/object-inspect/releases)
- [Commits](inspect-js/object-inspect@v1.10.3...v1.11.0)

---
updated-dependencies:
- dependency-name: object-inspect
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* gitignore esbuild.json
It changes on every build and is only use to rebuild the stats

* Bump osm-community-index to 5.1.1

* Modernize more scripts
(convert require to import)

* npm run imagery

* npm run translations

* rapid-v1.1.5

* Set z-index of absolutely positioned layers under supersurface
Each of these has their own internal stacking context

* npm run translations

* Fix link

* Math/extent conversion (#272)

* Bump version to newest id-sdk release.

* Convert geoExtent to id-sdk/Extent. Most tests working.

* Fix remaining tests.

* Remove geo modules no longer in use.

* Revert "Fix remaining tests."

This reverts commit 7ba89ce.

* Fix a number of instances of extents being used as raw tuples.

* Woops- converted zoom/pan functionality that interacts with d3. NOT a candidate for Extent() conversion.

* Fix roads/ways not appearing in the map, also fix a crossing ways test problem.

* Fix an issue with the measurement panel not setting its extent correctly.

* fix usages of Extend.extend() because it no longer modifies the extent in-place.

* Fix copy / paste bug that falsely claimed everything had an extent of +/- Infinity.

* add service module for querying streetview suggestions (#192)

* Show suggestion images and viewfield icon

* fix PR comments

* hightlight images and viewfields on hover

* Sort images by increasing longitude, so that the left-rightness of images matches the flow of the map points as we scan left->right.

* Add image strip as separate component (still quite buggy). Fix the two-way binding between image fields and images in the strip so that hover/select highlights correctly.

* Fix the image filmstrip so that it is properly shut off / redisplayed as the user hovers over / moves off a sidewalk.

* Fix bug that was selecting the wrong service when we selected a sidewalk suggestion.

* Get image strip working with Bryan's help.

* Fix sorting of images by longitude.

* Improve styling of the image strip, and add 'enlarge on mouse hover' interaction.

* style suggested sidewalks

* Parse crosswalk data

* remove console.log statement

* Fix debug messages that shouldn't have been checked in.

* Fix issue that was causing too many viewfield nodes to appear.

* fix hovering issues

* Fix some linter errors.

* Make 5 images not require a scrollbar in the image strip, even when one is zoomed.

* Fix images to all have the same height, not the same width.

* Fix code drift issues that had occurred in main.

Co-authored-by: Milos Brzakovic (E-Search) <mbrzakovic@microsoft.com>
Co-authored-by: Bryan Housel <bhousel@gmail.com>
Co-authored-by: Nikola Pleša <nikolaplesa@fb.com>
Co-authored-by: Milos Brzakovic <78906108+mbrzakovic@users.noreply.github.com>
Co-authored-by: Danny Krause <vanreece@gmail.com>
Co-authored-by: Ben Clark <bennyc@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Xiaoming Gao <mkobie@gmail.com>
Co-authored-by: Amol Vasant Khadilkar <amolk@fb.com>
Co-authored-by: Benjamin Clark <clarkben@fb.com>
Bonkles added a commit to facebook/Rapid that referenced this pull request Aug 30, 2021
* Move CrossEditableZoom event firing.
It should happen after projection is transformed.

* Bump versions

* Switch to Mapillary API v4

* Fix traffic sign rendering and geometry conversion

* Remove debugging code

* Update locale file

* Removing redundant @mapbox/geojson-rewind dep pkg

* Remove unused map feature title

* Bring map map feature tooltips

* Add missing mapillary map feature classes

* Update translation file

* Bing imagery - Ensure freshness

* bingImagery strict n param.
Fallback url tempalate to latest

* minor revert catch log

* some bing imagery docs comments

* typo

* Add aws_deploy npm action to build workflow (#229)

* Add aws_deploy npm action to build workflow

Added the scripts/aws_deploy.py script which will run at the end of
github builds and push stuff up to s3, so that you can easily get builds
to reviewers or anyone else without issue.

Needs to have some secrets set up on github to work, documentation is at
the top of the python script.

* Hopefully more verbose logging when amazon fails

* DO NOT MERGE: Adding hook for this branch to test on github

* Better capture failure cases of aws calls

* Going with the middle spam level for logging

* Replace Rollup with Esbuild. (#246)

* Add new esbuild-based quickstart directive.

* Get the esbuild legacy build working, save for issues with NSI.

* Upgrade several dependencies, bump minimum node version to 12
- country-coder (closes #249)
- location-conflation (closes #248)
- osm-community-index (closes #250)
- name-suggestion-index

* Bump marked from 2.0.7 to 2.1.2

Bumps [marked](https://github.com/markedjs/marked) from 2.0.7 to 2.1.2.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Changelog](https://github.com/markedjs/marked/blob/master/release.config.js)
- [Commits](markedjs/marked@v2.0.7...v2.1.2)

---
updated-dependencies:
- dependency-name: marked
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Add the es5 directive back.

* Get dev builds working once again, normal builds still slightly wonky.

* Get some sort of legacy build working by converting requires() to import statements.

* Fix target for esbuild legacy build

* Move build all directive to use esbuild.

* Add visualizer capability and build directive.

* Remove rollup from dependency list completely!

Co-authored-by: Bryan Housel <bhousel@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Remove special case for push to deploy_with_action

This was just used during development

* Clean up log, and add link to build result

* One too many slashes

* Is this simple conditional good enough?

* Better syntax?

* Now with correct syntax

* Bump osm-community-index from 5.0.1 to 5.1.0

Bumps [osm-community-index](https://github.com/osmlab/osm-community-index) from 5.0.1 to 5.1.0.
- [Release notes](https://github.com/osmlab/osm-community-index/releases)
- [Changelog](https://github.com/osmlab/osm-community-index/blob/main/CHANGELOG.md)
- [Commits](osmlab/osm-community-index@v5.0.1...v5.1.0)

---
updated-dependencies:
- dependency-name: osm-community-index
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump osm-community-index from 5.0.1 to 5.1.0

* If locationSet is missing `include`, default to worldwide include
openstreetmap/iD#8305 (comment)

* pacify eslint, fix merge goof in map.js

* Build sourcemap too

* Use pagination to fetch all the esri datasets
(closes #257)

* Bump object-inspect from 1.10.3 to 1.11.0

Bumps [object-inspect](https://github.com/inspect-js/object-inspect) from 1.10.3 to 1.11.0.
- [Release notes](https://github.com/inspect-js/object-inspect/releases)
- [Commits](inspect-js/object-inspect@v1.10.3...v1.11.0)

---
updated-dependencies:
- dependency-name: object-inspect
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* gitignore esbuild.json
It changes on every build and is only use to rebuild the stats

* Bump osm-community-index to 5.1.1

* Modernize more scripts
(convert require to import)

* npm run imagery

* npm run translations

* rapid-v1.1.5

* Set z-index of absolutely positioned layers under supersurface
Each of these has their own internal stacking context

* npm run translations

* Fix link

* Math/extent conversion (#272)

* Bump version to newest id-sdk release.

* Convert geoExtent to id-sdk/Extent. Most tests working.

* Fix remaining tests.

* Remove geo modules no longer in use.

* Revert "Fix remaining tests."

This reverts commit 7ba89ce.

* Fix a number of instances of extents being used as raw tuples.

* Woops- converted zoom/pan functionality that interacts with d3. NOT a candidate for Extent() conversion.

* Fix roads/ways not appearing in the map, also fix a crossing ways test problem.

* Fix an issue with the measurement panel not setting its extent correctly.

* fix usages of Extend.extend() because it no longer modifies the extent in-place.

* Fix copy / paste bug that falsely claimed everything had an extent of +/- Infinity.

* add service module for querying streetview suggestions (#192)

* Show suggestion images and viewfield icon

* fix PR comments

* hightlight images and viewfields on hover

* Sort images by increasing longitude, so that the left-rightness of images matches the flow of the map points as we scan left->right.

* Add image strip as separate component (still quite buggy). Fix the two-way binding between image fields and images in the strip so that hover/select highlights correctly.

* Fix the image filmstrip so that it is properly shut off / redisplayed as the user hovers over / moves off a sidewalk.

* Fix bug that was selecting the wrong service when we selected a sidewalk suggestion.

* Get image strip working with Bryan's help.

* Fix sorting of images by longitude.

* Improve styling of the image strip, and add 'enlarge on mouse hover' interaction.

* style suggested sidewalks

* Parse crosswalk data

* remove console.log statement

* Fix debug messages that shouldn't have been checked in.

* Fix issue that was causing too many viewfield nodes to appear.

* fix hovering issues

* Fix some linter errors.

* Make 5 images not require a scrollbar in the image strip, even when one is zoomed.

* Fix images to all have the same height, not the same width.

* Fix code drift issues that had occurred in main.

Co-authored-by: Milos Brzakovic (E-Search) <mbrzakovic@microsoft.com>
Co-authored-by: Bryan Housel <bhousel@gmail.com>
Co-authored-by: Nikola Pleša <nikolaplesa@fb.com>
Co-authored-by: Milos Brzakovic <78906108+mbrzakovic@users.noreply.github.com>
Co-authored-by: Danny Krause <vanreece@gmail.com>
Co-authored-by: Ben Clark <bennyc@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Xiaoming Gao <mkobie@gmail.com>
Co-authored-by: Amol Vasant Khadilkar <amolk@fb.com>
Co-authored-by: Benjamin Clark <clarkben@fb.com>
Bonkles added a commit to facebook/Rapid that referenced this pull request Oct 7, 2021
* Move CrossEditableZoom event firing.
It should happen after projection is transformed.

* Bump versions

* Switch to Mapillary API v4

* Fix traffic sign rendering and geometry conversion

* Remove debugging code

* Update locale file

* Removing redundant @mapbox/geojson-rewind dep pkg

* Remove unused map feature title

* Bring map map feature tooltips

* Add missing mapillary map feature classes

* Update translation file

* Bing imagery - Ensure freshness

* bingImagery strict n param.
Fallback url tempalate to latest

* minor revert catch log

* some bing imagery docs comments

* typo

* Add aws_deploy npm action to build workflow (#229)

* Add aws_deploy npm action to build workflow

Added the scripts/aws_deploy.py script which will run at the end of
github builds and push stuff up to s3, so that you can easily get builds
to reviewers or anyone else without issue.

Needs to have some secrets set up on github to work, documentation is at
the top of the python script.

* Hopefully more verbose logging when amazon fails

* DO NOT MERGE: Adding hook for this branch to test on github

* Better capture failure cases of aws calls

* Going with the middle spam level for logging

* Replace Rollup with Esbuild. (#246)

* Add new esbuild-based quickstart directive.

* Get the esbuild legacy build working, save for issues with NSI.

* Upgrade several dependencies, bump minimum node version to 12
- country-coder (closes #249)
- location-conflation (closes #248)
- osm-community-index (closes #250)
- name-suggestion-index

* Bump marked from 2.0.7 to 2.1.2

Bumps [marked](https://github.com/markedjs/marked) from 2.0.7 to 2.1.2.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Changelog](https://github.com/markedjs/marked/blob/master/release.config.js)
- [Commits](markedjs/marked@v2.0.7...v2.1.2)

---
updated-dependencies:
- dependency-name: marked
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Add the es5 directive back.

* Get dev builds working once again, normal builds still slightly wonky.

* Get some sort of legacy build working by converting requires() to import statements.

* Fix target for esbuild legacy build

* Move build all directive to use esbuild.

* Add visualizer capability and build directive.

* Remove rollup from dependency list completely!

Co-authored-by: Bryan Housel <bhousel@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Remove special case for push to deploy_with_action

This was just used during development

* Clean up log, and add link to build result

* One too many slashes

* Is this simple conditional good enough?

* Better syntax?

* Now with correct syntax

* Bump osm-community-index from 5.0.1 to 5.1.0

Bumps [osm-community-index](https://github.com/osmlab/osm-community-index) from 5.0.1 to 5.1.0.
- [Release notes](https://github.com/osmlab/osm-community-index/releases)
- [Changelog](https://github.com/osmlab/osm-community-index/blob/main/CHANGELOG.md)
- [Commits](osmlab/osm-community-index@v5.0.1...v5.1.0)

---
updated-dependencies:
- dependency-name: osm-community-index
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump osm-community-index from 5.0.1 to 5.1.0

* If locationSet is missing `include`, default to worldwide include
openstreetmap/iD#8305 (comment)

* pacify eslint, fix merge goof in map.js

* Build sourcemap too

* Use pagination to fetch all the esri datasets
(closes #257)

* Bump object-inspect from 1.10.3 to 1.11.0

Bumps [object-inspect](https://github.com/inspect-js/object-inspect) from 1.10.3 to 1.11.0.
- [Release notes](https://github.com/inspect-js/object-inspect/releases)
- [Commits](inspect-js/object-inspect@v1.10.3...v1.11.0)

---
updated-dependencies:
- dependency-name: object-inspect
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* gitignore esbuild.json
It changes on every build and is only use to rebuild the stats

* Bump osm-community-index to 5.1.1

* Modernize more scripts
(convert require to import)

* npm run imagery

* npm run translations

* rapid-v1.1.5

* Set z-index of absolutely positioned layers under supersurface
Each of these has their own internal stacking context

* npm run translations

* Fix link

* Math/extent conversion (#272)

* Bump version to newest id-sdk release.

* Convert geoExtent to id-sdk/Extent. Most tests working.

* Fix remaining tests.

* Remove geo modules no longer in use.

* Revert "Fix remaining tests."

This reverts commit 7ba89ce.

* Fix a number of instances of extents being used as raw tuples.

* Woops- converted zoom/pan functionality that interacts with d3. NOT a candidate for Extent() conversion.

* Fix roads/ways not appearing in the map, also fix a crossing ways test problem.

* Fix an issue with the measurement panel not setting its extent correctly.

* fix usages of Extend.extend() because it no longer modifies the extent in-place.

* Fix copy / paste bug that falsely claimed everything had an extent of +/- Infinity.

* add service module for querying streetview suggestions (#192)

* Show suggestion images and viewfield icon

* fix PR comments

* hightlight images and viewfields on hover

* Sort images by increasing longitude, so that the left-rightness of images matches the flow of the map points as we scan left->right.

* Add image strip as separate component (still quite buggy). Fix the two-way binding between image fields and images in the strip so that hover/select highlights correctly.

* Fix the image filmstrip so that it is properly shut off / redisplayed as the user hovers over / moves off a sidewalk.

* Fix bug that was selecting the wrong service when we selected a sidewalk suggestion.

* Get image strip working with Bryan's help.

* Fix sorting of images by longitude.

* Improve styling of the image strip, and add 'enlarge on mouse hover' interaction.

* style suggested sidewalks

* Parse crosswalk data

* remove console.log statement

* Fix debug messages that shouldn't have been checked in.

* Fix issue that was causing too many viewfield nodes to appear.

* fix hovering issues

* Fix some linter errors.

* Make 5 images not require a scrollbar in the image strip, even when one is zoomed.

* Fix images to all have the same height, not the same width.

* Fix code drift issues that had occurred in main.

Co-authored-by: Milos Brzakovic (E-Search) <mbrzakovic@microsoft.com>
Co-authored-by: Bryan Housel <bhousel@gmail.com>
Co-authored-by: Nikola Pleša <nikolaplesa@fb.com>
Co-authored-by: Milos Brzakovic <78906108+mbrzakovic@users.noreply.github.com>
Co-authored-by: Danny Krause <vanreece@gmail.com>
Co-authored-by: Ben Clark <bennyc@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Xiaoming Gao <mkobie@gmail.com>
Co-authored-by: Amol Vasant Khadilkar <amolk@fb.com>
Co-authored-by: Benjamin Clark <clarkben@fb.com>
Bonkles added a commit to facebook/Rapid that referenced this pull request Oct 29, 2021
* Move CrossEditableZoom event firing.
It should happen after projection is transformed.

* Bump versions

* Switch to Mapillary API v4

* Fix traffic sign rendering and geometry conversion

* Remove debugging code

* Update locale file

* Removing redundant @mapbox/geojson-rewind dep pkg

* Remove unused map feature title

* Bring map map feature tooltips

* Add missing mapillary map feature classes

* Update translation file

* Bing imagery - Ensure freshness

* bingImagery strict n param.
Fallback url tempalate to latest

* minor revert catch log

* some bing imagery docs comments

* typo

* Add aws_deploy npm action to build workflow (#229)

* Add aws_deploy npm action to build workflow

Added the scripts/aws_deploy.py script which will run at the end of
github builds and push stuff up to s3, so that you can easily get builds
to reviewers or anyone else without issue.

Needs to have some secrets set up on github to work, documentation is at
the top of the python script.

* Hopefully more verbose logging when amazon fails

* DO NOT MERGE: Adding hook for this branch to test on github

* Better capture failure cases of aws calls

* Going with the middle spam level for logging

* Replace Rollup with Esbuild. (#246)

* Add new esbuild-based quickstart directive.

* Get the esbuild legacy build working, save for issues with NSI.

* Upgrade several dependencies, bump minimum node version to 12
- country-coder (closes #249)
- location-conflation (closes #248)
- osm-community-index (closes #250)
- name-suggestion-index

* Bump marked from 2.0.7 to 2.1.2

Bumps [marked](https://github.com/markedjs/marked) from 2.0.7 to 2.1.2.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Changelog](https://github.com/markedjs/marked/blob/master/release.config.js)
- [Commits](markedjs/marked@v2.0.7...v2.1.2)

---
updated-dependencies:
- dependency-name: marked
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Add the es5 directive back.

* Get dev builds working once again, normal builds still slightly wonky.

* Get some sort of legacy build working by converting requires() to import statements.

* Fix target for esbuild legacy build

* Move build all directive to use esbuild.

* Add visualizer capability and build directive.

* Remove rollup from dependency list completely!

Co-authored-by: Bryan Housel <bhousel@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Remove special case for push to deploy_with_action

This was just used during development

* Clean up log, and add link to build result

* One too many slashes

* Is this simple conditional good enough?

* Better syntax?

* Now with correct syntax

* Bump osm-community-index from 5.0.1 to 5.1.0

Bumps [osm-community-index](https://github.com/osmlab/osm-community-index) from 5.0.1 to 5.1.0.
- [Release notes](https://github.com/osmlab/osm-community-index/releases)
- [Changelog](https://github.com/osmlab/osm-community-index/blob/main/CHANGELOG.md)
- [Commits](osmlab/osm-community-index@v5.0.1...v5.1.0)

---
updated-dependencies:
- dependency-name: osm-community-index
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump osm-community-index from 5.0.1 to 5.1.0

* If locationSet is missing `include`, default to worldwide include
openstreetmap/iD#8305 (comment)

* pacify eslint, fix merge goof in map.js

* Build sourcemap too

* Use pagination to fetch all the esri datasets
(closes #257)

* Bump object-inspect from 1.10.3 to 1.11.0

Bumps [object-inspect](https://github.com/inspect-js/object-inspect) from 1.10.3 to 1.11.0.
- [Release notes](https://github.com/inspect-js/object-inspect/releases)
- [Commits](inspect-js/object-inspect@v1.10.3...v1.11.0)

---
updated-dependencies:
- dependency-name: object-inspect
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* gitignore esbuild.json
It changes on every build and is only use to rebuild the stats

* Bump osm-community-index to 5.1.1

* Modernize more scripts
(convert require to import)

* npm run imagery

* npm run translations

* rapid-v1.1.5

* Set z-index of absolutely positioned layers under supersurface
Each of these has their own internal stacking context

* npm run translations

* Fix link

* Math/extent conversion (#272)

* Bump version to newest id-sdk release.

* Convert geoExtent to id-sdk/Extent. Most tests working.

* Fix remaining tests.

* Remove geo modules no longer in use.

* Revert "Fix remaining tests."

This reverts commit 7ba89ce.

* Fix a number of instances of extents being used as raw tuples.

* Woops- converted zoom/pan functionality that interacts with d3. NOT a candidate for Extent() conversion.

* Fix roads/ways not appearing in the map, also fix a crossing ways test problem.

* Fix an issue with the measurement panel not setting its extent correctly.

* fix usages of Extend.extend() because it no longer modifies the extent in-place.

* Fix copy / paste bug that falsely claimed everything had an extent of +/- Infinity.

* add service module for querying streetview suggestions (#192)

* Show suggestion images and viewfield icon

* fix PR comments

* hightlight images and viewfields on hover

* Sort images by increasing longitude, so that the left-rightness of images matches the flow of the map points as we scan left->right.

* Add image strip as separate component (still quite buggy). Fix the two-way binding between image fields and images in the strip so that hover/select highlights correctly.

* Fix the image filmstrip so that it is properly shut off / redisplayed as the user hovers over / moves off a sidewalk.

* Fix bug that was selecting the wrong service when we selected a sidewalk suggestion.

* Get image strip working with Bryan's help.

* Fix sorting of images by longitude.

* Improve styling of the image strip, and add 'enlarge on mouse hover' interaction.

* style suggested sidewalks

* Parse crosswalk data

* remove console.log statement

* Fix debug messages that shouldn't have been checked in.

* Fix issue that was causing too many viewfield nodes to appear.

* fix hovering issues

* Fix some linter errors.

* Make 5 images not require a scrollbar in the image strip, even when one is zoomed.

* Fix images to all have the same height, not the same width.

* Fix code drift issues that had occurred in main.

Co-authored-by: Milos Brzakovic (E-Search) <mbrzakovic@microsoft.com>
Co-authored-by: Bryan Housel <bhousel@gmail.com>
Co-authored-by: Nikola Pleša <nikolaplesa@fb.com>
Co-authored-by: Milos Brzakovic <78906108+mbrzakovic@users.noreply.github.com>
Co-authored-by: Danny Krause <vanreece@gmail.com>
Co-authored-by: Ben Clark <bennyc@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Xiaoming Gao <mkobie@gmail.com>
Co-authored-by: Amol Vasant Khadilkar <amolk@fb.com>
Co-authored-by: Benjamin Clark <clarkben@fb.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment